package com.ctshk.rpc.air.service;

import com.ctshk.common.dto.Result;
import com.ctshk.rpc.air.dto.AirProductCostDTO;
import com.ctshk.rpc.air.dto.AirProductCostTouristDTO;
import com.ctshk.rpc.air.dto.AirTouristTypeDTO;

import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 机票产品成本-旅客成本表 服务类
 * </p>
 *
 * @author lihang
 * @since 2021-03-05
 */
public interface IAirProductCostTouristService {

    /**
     *获取机票旅客类型
     * @return
     */
    Result<List<AirTouristTypeDTO>> queryTouristType();

    /**
     * 根据产品id和旅客类型获取成本数据
     * @param productId
     * @param touristTypes
     * @return
     */
    AirProductCostDTO selectByProductIdAndTouristTypes(Long productId, List<Integer> touristTypes);

    /**
     * 获取当前有效的旅客成本
     * @param productId 产品id
     * @param date
     * @return
     */
    List<AirProductCostTouristDTO> getCurrentlyValidData(Long productId, LocalDate date);
}
